const express = require('express');
const router = express.Router();
const cosController = require('../controllers/cos.controller');
const multer = require('multer');
require('dotenv').config();

// 从环境变量获取最大文件大小限制，默认为3GB
const maxFileSize = parseInt(process.env.MAX_FILE_SIZE || 3000, 10) * 1024 * 1024;
console.log(`文件上传大小限制设置为: ${maxFileSize / (1024 * 1024)}MB`);

// 自定义错误处理的multer配置
const storage = multer.memoryStorage();
const upload = multer({
  storage,
  limits: {
    fileSize: maxFileSize // 使用配置的文件大小限制
  }
});

// 获取对象列表
router.get('/list', cosController.listObjects);

// 获取对象URL
router.get('/url/:key', cosController.getObjectUrl);

// 获取/生成图片缩略图
router.get('/thumbnail/:key', cosController.getImageThumbnail);

// 上传文件
router.post('/upload', upload.single('file'), cosController.uploadFile);

// 删除文件或文件夹
router.post('/delete', cosController.deleteObjects);

// 创建文件夹
router.post('/folder', cosController.createFolder);

// 导出配置的文件大小限制，以便其他地方使用
module.exports = router;
module.exports.maxFileSize = maxFileSize; 